from agents import function_tool, Runner, Agent

# 订单数据库
order_db = {
    "1001": {
        "status": "已发货",
        "date": "2025-03-05",
        "total": 244
    },
    "1002": {
        "status": "已发货",
        "date": "2025-03-10",
        "total": 2499.2
    },
    "1003": {
        "status": "已发货",
        "date": "2025-03-10",
        "total": 1000
    }
}


# 工具函数
@function_tool
def check_order_status(order_id: str) -> str:
    print(f"查询订单 {order_id}")
    if order_id in order_db:
        order = order_db[order_id]
        return f"订单 {order_id} 当前状态: {order['status']}, 下单日期: {order['date']}, 金额: {order['total']}"
    return f"未找到订单{order_id}"


# 订单代理
order_agent = Agent(
    name="订单查询助手",
    instructions="""
    你是电子商务平台的订单查询员。你可以帮组客户查询订单信息。

    你需要获取订单号才能提供帮助。如果客户没有订单号，请礼貌地询问。

    请记住，你的职责只是查询和提供订单信息。如果客户提出其他需求（如退款或投诉），请向客户说明你只负责订单查询，并建议他们联系相关部门。
    """,
    tools=[check_order_status],
)


def test():
    #
    result = Runner.run_sync(order_agent, "我查询订单999")
    print(result.final_output)
